package cn.wolfcode.service;
import cn.wolfcode.domain.OrderInfo;
import cn.wolfcode.mq.OrderMQResult;


/**
 * Created by wolfcode-lanxw
 */
public interface IOrderInfoService {
    /**
     *生成订单
     * @param time
     * @param seckillId
     * @param phone
     * @return
     */
    String doseckill(Integer time, Long seckillId, Long phone);

    void orderTimeout(OrderMQResult orderMQResult);

    /**
     * 从redis中找订单详情
     * @param orderNo
     * @return
     */
    OrderInfo find(String orderNo);

    /**
     *进行支付宝支付
     * @param orderNO
     * @return
     */
    String payOnline(String orderNO);

    /**
     * 支付成功业务逻辑
     * @param orderNo
     */
    void paySuccess(String orderNo);

    /**
     *执行退款逻辑
     * @param orderInfo
     */
    void refundOnline(OrderInfo orderInfo);

    /**
     *执行积分减少
     * @param orderNo
     */
    void payIntergral(String orderNo);

    /**
     * 进行积分退款流程
     * @param orderInfo
     */
    void refundIntergral(OrderInfo orderInfo);
}